package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.PointsManagement;
import com.ruoyi.system.domain.PointsRuleSystem;
import com.ruoyi.system.domain.vo.PointsRankVo;

/**
 * 积分管理Service接口
 *
 * @author ruoyi
 * @date 2024-04-22
 */
public interface IPointsManagementService
{
    /**
     * 查询积分管理
     *
     * @param id 积分管理主键
     * @return 积分管理
     */
    public PointsManagement selectPointsManagementById(Long id);

    /**
     * 查询积分管理列表
     *
     * @param pointsManagement 积分管理
     * @return 积分管理集合
     */
    public List<PointsManagement> selectPointsManagementList(PointsManagement pointsManagement);

    /**
     * 新增积分管理
     *
     * @param pointsManagement 积分管理
     * @return 结果
     */
    public int insertPointsManagement(PointsManagement pointsManagement);

    /**
     * 修改积分管理
     *
     * @param pointsManagement 积分管理
     * @return 结果
     */
    public int updatePointsManagement(PointsManagement pointsManagement);

    /**
     * 删除积分管理信息
     *
     * @param id 积分管理主键
     * @return 结果
     */
    public int deletePointsManagementById(Long id);


    /**
     * 修改状态
     *
     * @param pointsManagement 积分管理
     * @return 结果
     */
    public int updatePointsManagementStatus(PointsManagement pointsManagement);


    /**
     * 添加系统规则积分
     *
     * @param pointsRuleSystems 系统规则
     * @return 结果
     */
    public void insertPointsManagementSystem( List<PointsRuleSystem> pointsRuleSystems,String startTime,String endTime);


    /**
     * 按照年度查询个人积分统计
     */
    public TableDataInfo selectRank(PointsManagement pointsManagement);
}
